package com.achievement.domain.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.Date;
import java.util.List;

/**
 * AppraisalProductDTO
 */

@Data
@ApiModel(value = "新增鉴定成果信息")
public class AppraisalProductDTO {

    /** ID */
    private String id;

    /** 名称 */
    @ApiModelProperty(value = "名称")
    private String name;

    /** 所属单位ID */
    @ApiModelProperty(value = "所属单位ID")
    private String unitId;

    /** 鉴定部门 */
    @ApiModelProperty(value = "鉴定部门")
    private String appraisalUnit;

    /** 鉴定日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty(value = "鉴定日期")
    private Date appraisalDate;

    /** 鉴定结论 */
    @ApiModelProperty(value = "鉴定结论")
    private String appraisalResultId;

    /** 鉴定号 */
    @ApiModelProperty(value = "鉴定号")
    private String appraisalCode;

    /** 完成形式 */
    @ApiModelProperty(value = "完成形式")
    private String completeTypeId;

    /** 学科门类 */
    @ApiModelProperty(value = "学科门类")
    private String subjectClassId;

    /** 一级学科 */
    @ApiModelProperty(value = "一级学科")
    private String subjectId;

    /** 二级学科 */
    @ApiModelProperty(value = "二级学科")
    private String subject2Id;

    /** $column.columnComment */
    @ApiModelProperty(value = "${comment}")
    private String projectSourceId;

    /** 学校署名 */
    @ApiModelProperty(value = "学校署名")
    private String schoolSign;

    /** 完成单位 */
    @ApiModelProperty(value = "完成单位")
    private String completeUnits;

    /** $column.columnComment */
    @ApiModelProperty(value = "${comment}")
    private String fileIds;

    /** 备注 */
    @ApiModelProperty(value = "备注")
    private String note;

    /** 第一作者ID */
    @ApiModelProperty(value = "第一作者ID")
    private String firstAuthorId;

    /** 第一作者名称 */
    @ApiModelProperty(value = "第一作者名称")
    private String firstAuthorName;

    /** 第一作者职工号 */
    @ApiModelProperty(value = "第一作者职工号")
    private String firstAuthorAccount;

    /** 第一作者职称 */
    @ApiModelProperty(value = "第一作者职称")
    private String firstAuthorTitleId;

    /** 第一作者性别 */
    @ApiModelProperty(value = "第一作者性别")
    private String firstAuthorSexid;

    /** 第一作者学历 */
    @ApiModelProperty(value = "第一作者学历")
    private String firstAuthorEduLevelId;

    /** 第一作者学位 */
    @ApiModelProperty(value = "第一作者学位")
    private String firstAuthorEduDegreeId;

    /** $column.columnComment */
    @ApiModelProperty(value = "${comment}")
    private String divisionId;

    /** $column.columnComment */
    @ApiModelProperty(value = "${comment}")
    private Long authorNumber;

    /** 审核状态 */
    @ApiModelProperty(value = "审核状态")
    private String checkstatus;

    /** 审核日期 */
    @ApiModelProperty(value = "审核日期")
    private String checkdate;

    /** 审核人 */
    @ApiModelProperty(value = "审核人")
    private String checker;


    /** $column.columnComment */
    @ApiModelProperty(value = "${comment}")
    private String authorpids;

    /** $column.columnComment */
    @ApiModelProperty(value = "${comment}")
    private String authorunitids;

    /** $column.columnComment */
    @ApiModelProperty(value = "${comment}")
    private String completedatastatus;

    /** 科研成果-鉴定成果列-作者信息 */
    @ApiModelProperty(value = "鉴定成果作者信息列表")
    private List<AppraisalProductAuthorDTO> authorList;

    @ApiModelProperty(value = "提交类型 -> -1:暂存,1:提交,2:保存并通过")
    private Integer submitType;

    private Boolean isAuditor;

    private String taskId;
}
